const update = (updateHost = '', update = true) => {
	if (updateHost == '') return //'更新方法：更新域名为必传参数
	updateHost = updateHost.split('/index.php')[0] //如果后面加index.php 
	let updateUrl = updateHost + '/download/index.php?m=version' //正常情况
	if (updateUrl.indexOf('//download')) { //如果域名后多加了 /
		updateUrl = updateUrl.replace('//download', '/download')
	}
	//可用地址例子：  http://atls.ourcolors.com.cn/download/index.php?m=version
	// #ifdef APP-PLUS
	// console.log("当前地址:", updateUrl);
	// console.log("正确地址示例:", '域名+/download/index.php?m=version');
	let deviceType = plus.os.name == 'Android' ? 1 : 2;
	plus.runtime.getProperty(plus.runtime.appid, function(updateInfo) {
		uni.request({
			method: 'POST',
			url: updateUrl,
			header: {
				"Content-Type": "application/x-www-form-urlencoded"
			},
			data: {
				current_version: updateInfo.versionCode, //当前APP版本号，注意打包时设置为整数型
				client_type: deviceType //设备系统环境: 安卓为1，IOS为2
			},
			success: (data) => {
				uni.$emit('update', data)
				if (data.data.code != 200) return //不等于200 则不更新
				if (!update) return //默认更新
				console.log(data);
				var result = data.data.result;
				if (result.pack_type == 0) { //热更新不提示
					console.log('热更新');
					upFn()
					return
				}
				// pack_type	int()	0: WGT资源包,1:Android包,2:IOS包
				// pack_version	int()	最新的版本号
				// pack_file	string()	更新的文件地址
				// pack_url	string()	此项不为空时(pack_file为空),请在浏览器中打开该页面
				// pack_info	string()	应用更新说明
				// pack_time	int()	应用上传时间，UNIX时间戳
				//弹窗内容会显示更新说明填写的内容
				uni.showModal({
					title: '更新',
					content: `当前版本:${updateInfo.versionCode}!\r\r发现新版本:${result.pack_version||''} \n${result.pack_info||''}`,
					cancelText: '退出',
					confirmText: '更新',
					success(e) {
						if (e.confirm) {
							confirmCallback() //点击确定
						} else {
							plus.runtime.quit() //退出
						}
					}
				})

				function confirmCallback() { //判断更新类型
					if (result.pack_url != "") { // pack_url 不为空的时候 直接跳转
						console.log('跳转链接');
						plus.runtime.openURL(result.pack_url);
						return
					} else if (result.pack_type == 2) { //IOS更新 直接打开下载页面
						console.log('IOS更新 ');
						plus.runtime.openURL(updateUrl.split('?m')[0]);
						return
					} else if (result.pack_type == 1 || result.pack_type == 0) { //安卓包
						console.log('下载安卓包');
						upFn()
					} else {
						upFn()
					}
				}

				function upFn() { //走更新
					let num = 0
					let tit = '请求下载'
					let wobj = plus.nativeUI.showWaiting(tit)
					// wobj.setTitle('请求下载'); 
					const downloadTask = uni.downloadFile({
						url: result.pack_file, //仅为示例，并非真实的资源
						success: (res) => {
							console.log(res.tempFilePath);
							if (res.statusCode === 200) { //下载完成
								plus.runtime.install(res.tempFilePath, {
									force: true //true表示强制安装，不进行版本号的校验；false则需要版本号校验，如果将要安装应用的版本号不高于现有应用的版本号则终止安装，并返回安装失败。 仅安装wgt和wgtu时生效，默认值 false。
								}, function() { //正确安装后的回调
									plus.runtime.restart(); //重启应用
									wobj.close()
								}, function() { //安装失败的回调
									wobj.close()
								});
							}
						}
					});
					downloadTask.onProgressUpdate((res) => { //监听下载进度
						console.log('下载进度' + res.progress);
						// console.log('已经下载的数据长度' + res.totalBytesWritten);
						// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
						// 满足测试条件，取消下载任务。
						num = res.progress
						tit = `  资源加载中:${num}%`
						wobj.setTitle(tit);
					});
				}
			}
		})
	});
	// #endif
}
export default update
